package Iface

import "net"

type IConnection interface {
	// 开始工作，（读取数据）
	Start()
	// 关闭连接
	Stop()
	// 获取当前的连接
	GetTcpConnection() *net.TCPConn
	// 获取当前唯一id
	GetConnID() uint32
	// 获取远程地址
	RemoteAddr() net.Addr
	// 发送消息到客户端
	SendMsg(msgId uint32, data []byte) error
	// 发送message数据到远程客户端（有缓冲）
	SendBuffMsg(msgId uint32, data []byte) error

	//设置链接属性
	SetProperty(key string, value interface{})
	//获取链接属性
	GetProperty(key string) (interface{}, error)
	//移除链接属性
	RemoveProperty(key string)
}
